package com.mofang.ticketing.common.core.enums.base;

import com.mofang.ticketing.common.core.enums.EnumVO;
import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

/**
 * @author ChenDongDong
 * @version 1.0
 * @description 附件数据类型枚举
 * @createDate 2022/10/8 16:07
 */
@Getter
@AllArgsConstructor
public enum AttachmentDataTypeEnum {
    /**
     * 默认
     */
    DEFAULT_IMG(0, "默认"),
    /**
     * 反馈图片
     */
    FEEDBACK_IMG(1, "反馈图片"),
    /**
     * 商户封面图片
     */
    MERCHANT_COVER_IMG(2, "商户封面图片"),
    /**
     * 推荐图片
     */
    RECOMMEND_IMG(3, "推荐图片"),
    /**
     * 资讯图片
     */
    CONSULT_IMG(4, "资讯图片"),
    ;

    private int key;
    private String value;

    /**
     * 根据key 获取value 值
     *
     * @param key key
     * @return 值
     */
    public static String getValueByKey(int key) {
        for (AttachmentDataTypeEnum h : AttachmentDataTypeEnum.values()) {
            if (h.getKey() == key) {
                return h.getValue();
            }
        }
        return "";
    }

    /**
     * 获取枚举集合
     *
     * @return 枚举集合
     */
    public static List<EnumVO> getKeyValueList() {
        return Arrays.stream(AttachmentDataTypeEnum.values())
                .map(s -> new EnumVO(s.getKey(), s.getValue()))
                .collect(Collectors.toList());
    }
}


